#!/bin/bash

###########################################
#安装 thrift-0.8.0
###########################################

#安装依赖
yum install -y wget tar gcc gcc-c++ make autoconf libtool flex bison openssl-devel zlib-devel

##################################################################################
#1、下载源码
cd /home
wget https://archive.apache.org/dist/thrift/0.8.0/thrift-0.8.0.tar.gz
tar -zxvf thrift-0.8.0.tar.gz
cd thrift-0.8.0
#2、修改文件compiler/cpp/src/generate/t_rb_generator.cc
# 修改334行
sed -i '334c\    if (first) {\n        first = false;\n    } else {\n        f_types_ << ", ";\n    }' compiler/cpp/src/generate/t_rb_generator.cc
# 修改324行
sed -i '324c\    if (first) {\n        first = false;\n    } else {\n        f_types_ << ", ";\n    }' compiler/cpp/src/generate/t_rb_generator.cc
#3、配置编译选项
./configure --prefix=/usr/local/thrift --build=aarch64-unknown-linux-gnu
#4、编译安装
make
make install

#验证
###################################################################################
#查看版本
export PATH=/usr/local/thrift/bin:$PATH
thrift -version  # 应输出Thrift version 0.8.0

#简单语法检查测试
# 创建测试文件
cat > test.thrift << EOF
namespace cpp test
service TestService {
    string ping()
}
EOF
# 用thrift命令生成C++代码（测试编译器功能）
thrift --gen cpp test.thrift
#如果命令执行后生成 gen-cpp 目录，且目录中包含 .h 和 .cpp 文件，则说明 Thrift 编译器工作正常。




# 核心依赖
sudo dnf install -y openssl-devel zlib-devel

# 若需要Python支持
sudo dnf install -y python3-devel python3-setuptools

# 若需要Java支持
sudo dnf install -y java-1.8.0-openjdk-devel maven

# 若需要C#支持（需额外配置mono）
# sudo dnf install -y mono-devel

# 若需要Ruby支持
# sudo dnf install -y ruby-devel rubygems











